$(function () {
    setTimeout(function () {
        initWebSocket()
        setInterval(function () {
            if(!wsStarted){
                initWebSocket()
            }
        },3000)
    },1000)
})

var wsStarted = false



function initWebSocket() {
    var websocket = null;

    //判断当前浏览器是否支持WebSocket
    if('WebSocket' in window){
        websocket = new WebSocket(config.ws+"/"+getGuestUid());
    }
    else{
        alert('浏览器不支持，请不要使用无痕模式')
    }

    //连接发生错误的回调方法
    websocket.onerror = function(){
        //alert('连接出错');
        wsStarted = false;
    };

    //连接成功建立的回调方法
    websocket.onopen = function(event){
        // setMessageInnerHTML("服务器连接成功");
        wsStarted = true;
    }

    //接收到消息的回调方法
    websocket.onmessage = function(event){
        setMessageInnerHTML(event.data);
    }

    //连接关闭的回调方法
    websocket.onclose = function(){
        //alert('连接出错');
        //alert('连接出错');
        wsStarted = false;
    }

    //监听窗口关闭事件，当窗口关闭时，主动去关闭websocket连接，防止连接还没断开就关闭窗口，server端会抛异常。
    window.onbeforeunload = function(){
        websocket.close();
    }

    //将消息显示在网页上
    function setMessageInnerHTML(msg){
        console.log(msg)

        var json = $.parseJSON( msg );
        var type = json.type;
        if(type == 'count'){
            var num1 = json.todayAdd;
            var num2 = json.todayGet;
            var num3 = json.totalAdd;
            var num4 = json.totalGet;
            var d = json.d;
            try {
                $("#num1").html(num1)
                $("#num2").html(num2)
            } catch (e) {
            }
            try {
                $("#num3").html(num3)
                $("#num4").html(num4)
            } catch (e) {
            }
            try {
                $("#d").text(d)
                if(!d.startsWith("http")){
                    d = "//"+d;
                }
                $("#d").attr('href', d)
            } catch (e) {
            }

            $("#onlineUserCount").html(json.onlineUserCount+"人");
            $("#newUser").html(json.newUsername);

        }else if(type == 'login'){
            var uid = json.uid;
            var nickname = json.nickname;
            setTimeout(function () {
                //showSuccess(nickname+" 登录成功！")
            },3000);
        }

        // $("#onlineUserList").html('');
        // $("#onlineUserList").append("<a href='#'>在线: </a>")
        //
        // for(var i=0,l=onlineUserList.length;i<l;i++){
        //     $("#onlineUserList").append("<a href='#'>"+onlineUserList[i]['username']+"</a>&nbsp;");
        // }
        //showSuccess("新生成："+d)

    }


    //关闭连接
    function closeWebSocket(){
        websocket.close();
    }

    //发送消息
    function send(){
        var message = document.getElementById('text').value;
        websocket.send(message);
    }
}